A source-to-source transformation tool for error fixing

نویسندگان

  • Youry Khmelevsky
  • Martin C. Rinard
  • Stelios Sidiroglou
چکیده

We present a methodology and a prototype of a source-to-source transformation tool for error fixing in C/C++ program source code for missing condition checks after a method call. The missing condition checks in a C program could lead to a program crash. This tool can be extended for other programming languages in addition to C/C++. The developed tool includes the ability to generate and apply a fix for a source code without human intervention. The tool can be run on different platforms, including MS Windows, Linux, MAC OS and other operating systems. We evaluate our technique by applying it to five widely used open source programs. Our results show that it is able to successfully detect and add the missing condition check or correct it after a method call in the program, and that our detection and error fixing technique is quite accurate in practice.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

AnnoDomini in Practice: A Type-Theoretic Approach to the Year 2000 Problem

AnnoDomini is a commercially available source-to-source conversion tool for finding and fixing Year 2000 problems in COBOL programs. AnnoDomini uses type-based specification, analysis, and transformation to achieve its main design goals: flexibility, completeness, correctness, and a high degree of safe automation.

متن کامل

Casper: Debugging Null Dereferences with Dynamic Causality Traces

Fixing a software error requires understanding its root cause. In this paper, we introduce “causality traces”, crafted execution traces augmented with the information needed to reconstruct the causal chain from the root cause of a bug to an execution error. We propose an approach and a tool, called CASPER, based on code transformation, which dynamically constructs causality traces for null dere...

متن کامل

Casper: Automatic tracking of null dereferences to inception with causality traces

Fixing a software error requires understanding its root cause. In this paper, we introduce “causality traces”, crafted execution traces augmented with the information needed to reconstruct the causal chain from the root cause of a bug to an execution error. We propose an approach and a tool, called Casper, based on code transformation, which dynamically constructs causality traces for null dere...

متن کامل

A Formal Approach to Fixing Bugs

Bugs within programs typically arise within well-known motifs, such as complex language features or misunderstood programming interfaces. Some software development tools often detect some of these situations, and some integrated development environments suggest automated fixes for some of the simple cases. However, it is usually difficult to handcraft and integrate more complex bug-fixing into ...

متن کامل

Interactive Transformation of Java Programs

Implementing large and sweeping changes to software source code can be tedious and error-prone. A conceptually simple change can require a significant code editing effort. Any source code modification can be viewed as a transformation of one program into another. Integrating scriptable sourceto-source program transformations into development environments can assist developers with many repetiti...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013